package com.dao;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException; 
import java.util.*;
public class DescargaFromDW {

		public static Vector listCrecimientoCorredor(int anoMesProceso) {
			Vector list=new Vector();
			try {   
				Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");     
			} catch (ClassNotFoundException e) {      
				System.out.println("Please include Classpath  Where your DB2 Driver is located");      
				e.printStackTrace();      
				return new Vector();      
			}  
			System.out.println("DB2 driver is loaded successfully");  
			Connection conn = null; 
			PreparedStatement pstmt = null; 
			ResultSet rset=null; boolean found=false;    
			try {   
				conn = DriverManager.getConnection("jdbc:db2:sample");         
				if (conn != null)  {    
					System.out.println("DB2 Database Connected");  }        
				else  {           
					System.out.println("Db2 connection Failed ");        }  
  	
				String sql= "SELECT 	CORR.RUT_COR_CORREDOR RUTCORREDOR, 	CORR.NOM_COR_CORREDOR NOMCORREDOR, RAMO.COD_COB_RAMO CODRAMO,"+
				" NEG.DESC_RES_UNIDAD_NEGOCIO UNEGOCIO,"+
				" NEG.COD_RES_UNIDAD_NEGOCIO CODUNEGOCIO, EJE.NOM_RES_EJECUTIVO NOMEJECUTIVO,"+
				" EJE.RUT_RES_EJECUTIVO RUTEJECUTIVO, 	D_TIE_MES2.COD_CORRELATIVO_MES - MES1.COD_CORRELATIVO_MES + 1 CORREL,"+
				" sum(SIN.I_PRIMA_NETA_DIRECTA_TOTAL_UF) PD,"+
				" sum(SIN.I_PRIMA_DIRECTA_GANADA_UF) PRIMA_GANADA,"+
				" sum(SIN.I_SNS_MTO_PAGADO_DIRECTO_UF) MPAD,"+
				" sum(SIN.I_SNS_MTO_PROVISION_DIRECTO_UF) MPRD,"+
				" sum(SIN.I_SNS_MTO_RECUPERO_DIRECTO_UF) MRD,"+
				" sum(SIN.I_SNS_MTO_TOTAL_DIRECTO_UF) MTD,"+
				" sum(SIN.I_SNS_MTO_PAGADO_DIRECTO_UF + SIN.I_SNS_MTO_PROVISION_DIRECTO_UF - SIN.I_SNS_MTO_RECUPERO_DIRECTO_UF) RESULTADO_SINIESTRO"+
				" FROM"+
				" DS_ETL.D_COR_CORREDOR CORR,"+
				" DS_ETL.D_COB_RAMO RAMO,"+
				" DS_ETL.D_RES_UNIDAD_NEGOCIO NEG,"+
				" DS_ETL.D_RES_EJECUTIVO EJE,"+
				" DS_ETL.D_TIE_MES MES1,"+
				" DS_ETL.D_TIE_MES  D_TIE_MES2,"+
				" DS_ETL.FT_SINIESTRALIDAD SIN,"+
				" DS_ETL.D_TIE_DIA DIA"+
				" WHERE"+
				" ( RAMO.ID_COB_RAMO=SIN.ID_COB_RAMO  )"+
				"  AND  ( CORR.ID_COR_CORREDOR=SIN.ID_COR_CORREDOR  )"+
				"  AND  ( SIN.ID_TIE_DIA_INICIO_VIGENCIA=DIA.ID_TIE_DIA  )"+
				"  AND  ( DIA.ID_TIE_MES=MES1.ID_TIE_MES  )"+
				"  AND  ( D_TIE_MES2.ID_TIE_MES=SIN.ID_TIE_MES_PROCESO  )"+
				"  AND  ( EJE.ID_RES_EJECUTIVO=SIN.ID_RES_EJECUTIVO  )"+
				" AND  ( NEG.ID_RES_UNIDAD_NEGOCIO=EJE.ID_RES_UNIDAD_NEGOCIO  )"+
				" AND  "+
				" ("+
				" SIN.ID_TIE_MES_PROCESO  = "+ anoMesProceso+              //201009
				"  AND"+
				"  D_TIE_MES2.COD_CORRELATIVO_MES - MES1.COD_CORRELATIVO_MES + 1  <=  12"+
				" )"+
				" GROUP BY "+
				" CORR.RUT_COR_CORREDOR,"+
				" CORR.NOM_COR_CORREDOR,"+
				" RAMO.COD_COB_RAMO,"+
				" NEG.DESC_RES_UNIDAD_NEGOCIO,"+
				" NEG.COD_RES_UNIDAD_NEGOCIO,"+
				" EJE.NOM_RES_EJECUTIVO,"+
				" EJE.RUT_RES_EJECUTIVO,"+
				" D_TIE_MES2.COD_CORRELATIVO_MES - MES1.COD_CORRELATIVO_MES + 1";
  
				pstmt=conn.prepareStatement(sql);  
				rset=pstmt.executeQuery();       
				if(rset!=null)  {   
						while(rset.next())   {
						found=true;
						/*
						ExtraccionSiniestro obj=new ExtraccionSiniestro();
						obj.setRUTCORREDOR(rset.getString("RUTCORREDOR"));
						obj.setNOMCORREDOR(rset.getString("NOMCORREDOR"));
						obj.setCODRAMO(rset.getString("CODRAMO"));
						obj.setUNEGOCIO(rset.getString("UNEGOCIO"));
						obj.setCODUNEGOCIO(rset.getString("CODUNEGOCIO"));
						obj.setNOMEJECUTIVO(rset.getString("NOMEJECUTIVO"));
						obj.setRUTEJECUTIVO(rset.getString("RUTEJECUTIVO"));
						obj.setCORREL(rset.getString("CORREL"));
						obj.setPD(rset.getString("PD"));
						obj.setPRIMA_GANADA(rset.getString("PRIMA_GANADA"));
						obj.setMPAD(rset.getString("MPAD"));
						obj.setMPRD(rset.getString("MPRD"));
						obj.setMRD(rset.getString("MRD"));
						obj.setMTD(rset.getString("MTD"));
						obj.setRESULTADO_SINIESTRO(rset.getString("RESULTADO_SINIESTRO"));
					
		 
						
						list.addElement(obj);
							*/
					 	
					    }   
					} 
					
					if (found ==false)  {   
						System.out.println("No Information Found");  
					}  
					} catch (SQLException e) {     
						System.out.println("DB2 Database connection Failed");     
					    e.printStackTrace();     
					    return new Vector();
					}
					return list;
				}
		        
		}
 